﻿#ifndef AI_ENEMY_CONTROLLER_HPP
#define AI_ENEMY_CONTROLLER_HPP

#include <iostream>
#include <onnxruntime_cxx_api.h>
#include <vector>
#include <string>
#include <memory>

class AIEnemyController {
public:
    explicit AIEnemyController(const std::string& modelPath);
    ~AIEnemyController();

    std::vector<float> predict(float enemyX, float enemyY,
        float playerX, float playerY,
        float relVelX = 0, float relVelY = 0);

private:
    Ort::Env env;
    std::unique_ptr<Ort::Session> session;

    std::vector<const char*> inputNames = { "Input" };
    std::vector<const char*> outputNames = { "Pea" };

    float lastDx = 0.0f;
    float lastDy = 0.0f;
};

#endif // AI_ENEMY_CONTROLLER_HPP